package cm.util6.theme3;

import java.util.ArrayList;
import java.util.Collections;

public class FindNumbersWithSumDemo {
    public ArrayList<Integer> FindNumbersWithSum01(int[] array, int sum) {
        ArrayList<Integer> list = new ArrayList<>(2);

        // -------------------- 无脑暴力 -----------------
        int mul = Integer.MAX_VALUE;
        for (int i = 0; i < array.length - 1; i++) {
            for (int j = i; j < array.length; j++) {
                if (array[i] + array[j] == sum) {
                    if (mul > array[i] * array[j]){
                        mul = array[i] * array[j];
                        if (list.isEmpty()){
                            list.add(0,array[i]);
                            list.add(1,array[j]);
                        }else{
                            list.set(0,array[i]);
                            list.set(1,array[j]);
                        }

                    }
                }
            }
        }
        Collections.sort(list);
        return list;
    }

    // 因为是排序数组，所以左右夹逼
    public ArrayList<Integer> FindNumbersWithSum(int[] array, int sum) {
        ArrayList<Integer> list = new ArrayList<>(2);

        // -------------------- 无脑暴力 -----------------
        int mul = Integer.MAX_VALUE;
        for (int i = 0; i < array.length - 1; i++) {
            for (int j = i; j < array.length; j++) {
                if (array[i] + array[j] == sum) {
                    if (mul > array[i] * array[j]){
                        mul = array[i] * array[j];
                        if (list.isEmpty()){
                            list.add(0,array[i]);
                            list.add(1,array[j]);
                        }else{
                            list.set(0,array[i]);
                            list.set(1,array[j]);
                        }

                    }
                }
            }
        }
        Collections.sort(list);
        return list;
    }
}
